# # 实验1：使用unittest框架进行注册接口的测试
# # 导入相关的unittest类库
# import unittest2
# import requests
#
#
# # 定义测试类，继承unittest框架
# class TestRegister(unittest2.TestCase):
#     # 使用setup方法完成接口测试的初始化工作
#     def setUp(self):
#         self.url = 'http://10.211.55.5:8080/jwshoplogin/user/register.do'
#         self.userinfo = {}
#         self.userinfo = {'username': 'houqingchen',
#                          'password': '123456',
#                          'email': 'houqingchen@126.com',
#                          'phone': '12345678900',
#                          'question': '1',
#                          'answer': '1'}
#
#     # 定义测试类
#     def test_register(self):
#         s = requests.session()  # session方法？
#         responce = s.post(self.url, data=self.userinfo).json()
#         print(responce)
#
#         # 使用unittest框架断言来进行结果判断
#         self.assertIn("用户名已经存在", str(responce))
#
#
# if __name__ == '__main__':
#     unittest2.main()


# # 实验二：针对检查接口通过unittest框架实现
# import unittest2
# import requests
# import csv
#
#
# class TestCheck(unittest2.TestCase):
#     def setUp(self):
#         self.url = "http://10.211.55.5:8080/jwshoplogin/user/check_vaild.do"
#         self.file1 = open(
#             '/Users/qingcchou/LearningProgressions/PycharmProjects/InterfaceProjects/InterfaceFramework/test_data'
#             '/check_username_email.csv', 'r')
#         self.file2 = open(
#             '/Users/qingcchou/LearningProgressions/PycharmProjects/InterfaceProjects/InterfaceFramework/test_result'
#             '/check_result.csv', 'w')
#
#     def test_check_valid(self):
#         check_info = {}
#         table = csv.reader(self.file1)
#         for row in table:
#             check_info['str'] = row[0]
#             check_info['type'] = row[1]
#             s = requests.session()
#             responce = s.post(self.url, data=check_info).text
#             # 断言判断测试结果
#             self.assertIn(row[2], str(responce))
#
#         # 通过tearDown方法进行回收
#         def tearDown(self):
#             self.file1.close()
#             self.file2.close()
#
#
# if __name__ == '__main__':
#     unittest2.main()


# 实验3：使用unittest框架完成多个接口的测试脚本（登录注册）


import requests
import unittest2
"""
执行顺序，按照字母A-Z顺序执行，可以定义为test_case1，2
执行的时候，注意光标所在位置，在哪个函数里面，执行哪个
"""


class TestMultiInterface(unittest2.TestCase):
    # 定义注册测试方法
    def test_case1(self):
        print("注册接口")

    # 定义登录测试方法
    def test_case2(self):
        print("登录接口")

    def setUp(self):
        print("setUp")

    def tearDown(self):
        print("tearDown")


if __name__ == '__main__':
    # main方法直接调用
    # unittest2.main()

    # # 声明测试套对象调用，按照addTest顺序调用
    # suite = unittest2.TestSuite()
    # suite.addTest(TestMultiInterface("test_case2"))
    # suite.addTest(TestMultiInterface("test_case1"))
    # # 声明测试运行对象
    # runner = unittest2.TextTestRunner()
    # runner.run(suite)

    # 已文件的形式进行框架的执行
    # 声明文件所在路径
    test_dir = './'
    discover = unittest2.defaultTestLoader.discover(test_dir, pattern='test*.py')
    # 声明测试运行对象
    runner = unittest2.TextTestRunner()
    runner.run(discover)
